#
# This file is a Makefile for Tk.  If it has the name "Makefile.in"
# then it is a template for a Makefile;  to generate the actual Makefile,
# run "./configure", which is a configuration script generated by the
# "autoconf" program (constructs like "@foo@" will get replaced in the
# actual Makefile.
#
# @(#) Makefile.in 1.59 95/10/04 14:25:21

# Current Tk version;  used in various names.

include ../../config.make

VERSION 	= 4.1


#----------------------------------------------------------------
# Things you can change to personalize the Makefile for your own
# site (you can make these changes in either Makefile.in or
# Makefile, but changes to Makefile will get lost if you re-run
# the configuration script).
#----------------------------------------------------------------

# Default top-level directories in which to install architecture-
# specific files (exec_prefix) and machine-independent files such
# as scripts (prefix).  The values specified here may be overridden
# at configure-time with the --exec-prefix and --prefix options
# to the "configure" script.

prefix =		@prefix@
exec_prefix =		@exec_prefix@

# The following definition can be set to non-null for special systems
# like AFS with replication.  It allows the pathnames used for installation
# to be different than those used for actually reference files at
# run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
# when installing files.
INSTALL_ROOT =

# Directory from which applications will reference the library of Tcl
# scripts (note: you can set the TK_LIBRARY environment variable at
# run-time to override the compiled-in location):
TK_LIBRARY =		$(prefix)/lib/tk$(VERSION)

# Path name to use when installing library scripts:
SCRIPT_INSTALL_DIR =	$(INSTALL_ROOT)$(TK_LIBRARY)

# Directory in which to install the archive libtk.a:
LIB_INSTALL_DIR =	$(INSTALL_ROOT)$(exec_prefix)/lib

# Directory in which to install the program wish:
BIN_INSTALL_DIR =	$(INSTALL_ROOT)$(exec_prefix)/bin

# Directory from which the program wish should be referenced by scripts:
BIN_DIR =		$(exec_prefix)/bin

# Directory in which to install the include file tk.h:
INCLUDE_INSTALL_DIR =	$(INSTALL_ROOT)$(prefix)/include

# Top-level directory for manual entries:
MAN_INSTALL_DIR =	$(INSTALL_ROOT)$(prefix)/man

# Directory in which to install manual entry for wish:
MAN1_INSTALL_DIR =	$(MAN_INSTALL_DIR)/man1

# Directory in which to install manual entries for Tk's C library
# procedures:
MAN3_INSTALL_DIR =	$(MAN_INSTALL_DIR)/man3

# Directory in which to install manual entries for the built-in
# Tcl commands implemented by Tk:
MANN_INSTALL_DIR =	$(MAN_INSTALL_DIR)/mann

# A "-I" switch that can be used when compiling to make all of the
# X11 include files accessible (the configure script will try to
# set this value, and will cause it to be an empty string if the
# include files are accessible via /usr/include).
X11_INCLUDES =		@XINCLUDES@

# Linker switch(es) to use to link with the X11 library archive (the
# configure script will try to set this value automatically, but you
# can override it).
X11_LIB_SWITCHES =	@XLIBSW@

# Libraries to use when linking:  must include at least Tk, Tcl, Xlib,
# and the math library (in that order).  The "LIBS" part will be
# replaced (or has already been replaced) with relevant libraries as
# determined by the configure script.
LIBS = libtk.a $(TCL_BIN_DIR)/libtcl.a $(X11_LIB_SWITCHES) $(DL_LIBS) @LIBS@ @MATH_LIBS@ 

# To change the compiler switches, for example to change from -O
# to -g, change the following line:
CFLAGS = -O

# To turn off the security checks that disallow incoming sends when
# the X server appears to be insecure, reverse the comments on the
# following lines:
SECURITY_FLAGS =
#SECURITY_FLAGS = -DTK_NO_SECURITY

# To disable ANSI-C procedure prototypes reverse the comment characters
# on the following lines:
PROTO_FLAGS =
#PROTO_FLAGS = -DNO_PROTOTYPE

# To enable memory debugging reverse the comment characters on the following
# lines.  Warning:  if you enable memory debugging, you must do it
# *everywhere*, including all the code that calls Tcl, and you must use
# ckalloc and ckfree everywhere instead of malloc and free.
MEM_DEBUG_FLAGS =
#MEM_DEBUG_FLAGS = -DTCL_MEM_DEBUG

# If your X server is X11R4 or earlier, then you may wish to reverse
# the comment characters on the following two lines.  This will enable
# extra code to speed up XStringToKeysym.  In X11R5 and later releases
# XStringToKeysym is plenty fast, so you needn't define REDO_KEYSYM_LOOKUP.
KEYSYM_FLAGS =
#KEYSYM_FLAGS = -DREDO_KEYSYM_LOOKUP

# Some versions of make, like SGI's, use the following variable to
# determine which shell to use for executing commands:
SHELL =		/bin/sh

# Tk used to let the configure script choose which program to use
# for installing, but there are just too many different versions of
# "install" around;  better to use the install-sh script that comes
# with the distribution, which is slower but guaranteed to work.

INSTALL = @srcdir@/install-sh -c

#----------------------------------------------------------------
# The symbols below provide support for dynamic loading and shared
# libraries.  The values of the symbols are normally set by the
# configure script.  You shouldn't normally need to modify any of
# these definitions by hand.  However, you can reverse the comments
# on the pairs of lines to force "no dynamic loading or shared
# libraries".
#----------------------------------------------------------------

# Flags to pass to cc when compiling the components of a shared
# library:
SHLIB_CFLAGS = @SHLIB_CFLAGS@
#SHLIB_CFLAGS =

# Base command to use for combining object files into a shared
# library:
SHLIB_LD = @SHLIB_LD@

# Suffix to use for the name of the shared library.  An empty string
# means we don't know how to use shared libraries on this platform.
SHLIB_SUFFIX = @SHLIB_SUFFIX@
#SHLIB_SUFFIX = .a

# Library file(s) to include in tclsh and other base applications
# in order to provide facilities needed by DLOBJ above.
DL_LIBS = @DL_LIBS@
#DL_LIBS =

# Flags to pass to the compiler when linking object files into
# an executable wish or tktest binary.
LD_FLAGS = @LD_FLAGS@
#LD_FLAGS =

#----------------------------------------------------------------
# The information below is modified by the configure script when
# Makefile is generated from Makefile.in.  You shouldn't normally
# modify any of this stuff by hand.
#----------------------------------------------------------------

AC_FLAGS =		@DEFS@
INSTALL_PROGRAM =	@INSTALL_PROGRAM@
INSTALL_DATA =		@INSTALL_DATA@
RANLIB =		@RANLIB@
SRC_DIR =		@srcdir@/..
TOP_DIR =		@srcdir@/..
GENERIC_DIR =		$(TOP_DIR)/generic
UNIX_DIR = 		@srcdir@
BMAP_DIR =		$(TOP_DIR)/bitmaps
VPATH =			@srcdir@/..

#----------------------------------------------------------------
# The information below should be usable as is.  The configure
# script won't modify it and you shouldn't need to modify it
# either.
#----------------------------------------------------------------


CC =		@CC@
CC_SWITCHES =	$(STKCFLAGS) $(DFLGS) $(ALLOC) ${CFLAGS} -I${UNIX_DIR} \
		-I${GENERIC_DIR} \
		-I../../Tcl -I../../Src -I${BMAP_DIR} -I${TCL_DIR} \
		${AC_FLAGS} ${PROTO_FLAGS} ${SECURITY_FLAGS} ${MEM_DEBUG_FLAGS} \
		${KEYSYM_FLAGS} 

WISH_OBJS = tkAppInit.o

TKTEST_OBJS = tkTestInit.o tkTest.o tkSquare.o

WIDGOBJS = tkButton.o tkEntry.o tkFrame.o tkListbox.o \
	tkMenu.o tkMenubutton.o tkMessage.o tkScale.o \
	tkScrollbar.o

CANVOBJS = tkCanvas.o tkCanvArc.o tkCanvBmap.o tkCanvImg.o \
	tkCanvLine.o tkCanvPoly.o tkCanvPs.o tkCanvText.o \
	tkCanvUtil.o tkCanvWind.o tkRectOval.o tkTrig.o

IMAGEOBJS = tkImage.o tkImgBmap.o tkImgGIF.o tkImgPPM.o tkImgPhoto.o

TEXTOBJS = tkText.o tkTextBTree.o tkTextDisp.o tkTextIndex.o \
	tkTextMark.o tkTextTag.o tkTextWind.o

WINOBJS = tkWin32Dll.o tkWinClipboard.o tkWinColor.o tkWinCursor.o \
	  tkWinDraw.o tkWinFont.o tkWinImage.o tkWinInit.o \
	  tkWinKey.o tkWinNotify.o tkWinPixmap.o tkWinPointer.o \
	  tkWinRegion.o tkWinWindow.o tkWinWm.o tkWinX.o

UNIXOBJS = tkUnix.o tkUnixCursor.o tkUnixDraw.o tkUnixEvent.o \
	tkUnixInit.o tkUnixSelect.o tkUnixWm.o 

OBJS =  \
	tk3d.o tkArgv.o tkAtom.o tkBind.o tkBitmap.o tkClipboard.o tkCmds.o \
	tkColor.o tkConfig.o tkCursor.o tkError.o tkEvent.o \
	tkFocus.o tkFont.o tkGet.o tkGC.o tkGeometry.o tkGrab.o tkGrid.o \
	tkOption.o tkPack.o tkPlace.o \
	tkSelect.o tkSend.o tkUtil.o tkVisual.o \
	tkWindow.o  tkXId.o \
	$(WIDGOBJS) $(CANVOBJS) $(IMAGEOBJS) $(TEXTOBJS) $(UNIXOBJS)

SRCS = \
	$(GENERIC_DIR)/tk3d.c $(GENERIC_DIR)/tkArgv.c \
	$(GENERIC_DIR)/tkAtom.c $(GENERIC_DIR)/tkBind.c	\
	$(GENERIC_DIR)/tkBitmap.c $(GENERIC_DIR)/tkClipboard.c \
	$(GENERIC_DIR)/tkCmds.c $(GENERIC_DIR)/tkColor.c \
	$(GENERIC_DIR)/tkConfig.c $(GENERIC_DIR)/tkCursor.c \
	$(GENERIC_DIR)/tkError.c $(GENERIC_DIR)/tkEvent.c \
	$(GENERIC_DIR)/tkFocus.c $(GENERIC_DIR)/tkFont.c \
	$(GENERIC_DIR)/tkGet.c $(GENERIC_DIR)/tkGC.c \
	$(GENERIC_DIR)/tkGeometry.c $(GENERIC_DIR)/tkGrab.c \
	$(GENERIC_DIR)/tkGrid.c \
	$(GENERIC_DIR)/tkMain.c $(GENERIC_DIR)/tkOption.c \
	$(GENERIC_DIR)/tkPack.c $(GENERIC_DIR)/tkPlace.c \
	$(GENERIC_DIR)/tkSelect.c \
	$(GENERIC_DIR)/tkSend.c $(GENERIC_DIR)/tkUtil.c \
	$(GENERIC_DIR)/tkVisual.c $(GENERIC_DIR)/tkWindow.c \
	$(GENERIC_DIR)/tkXId.c $(GENERIC_DIR)/tkButton.c \
	$(GENERIC_DIR)/tkEntry.c $(GENERIC_DIR)/tkFrame.c \
	$(GENERIC_DIR)/tkListbox.c $(GENERIC_DIR)/tkMenu.c \
	$(GENERIC_DIR)/tkMenubutton.c $(GENERIC_DIR)/tkMessage.c \
	$(GENERIC_DIR)/tkScale.c $(GENERIC_DIR)/tkScrollbar.c \
	$(GENERIC_DIR)/tkCanvas.c $(GENERIC_DIR)/tkCanvArc.c \
	$(GENERIC_DIR)/tkCanvBmap.c $(GENERIC_DIR)/tkCanvImg.c \
	$(GENERIC_DIR)/tkCanvLine.c $(GENERIC_DIR)/tkCanvPoly.c \
	$(GENERIC_DIR)/tkCanvPs.c $(GENERIC_DIR)/tkCanvText.c \
	$(GENERIC_DIR)/tkCanvUtil.c \
	$(GENERIC_DIR)/tkCanvWind.c $(GENERIC_DIR)/tkRectOval.c \
	$(GENERIC_DIR)/tkTrig.c $(GENERIC_DIR)/tkImage.c \
	$(GENERIC_DIR)/tkImgBmap.c $(GENERIC_DIR)/tkImgGIF.c \
	$(GENERIC_DIR)/tkImgPPM.c \
	$(GENERIC_DIR)/tkImgPhoto.c $(GENERIC_DIR)/tkText.c \
	$(GENERIC_DIR)/tkTextBTree.c $(GENERIC_DIR)/tkTextDisp.c \
	$(GENERIC_DIR)/tkTextIndex.c $(GENERIC_DIR)/tkTextMark.c \
	$(GENERIC_DIR)/tkTextTag.c $(GENERIC_DIR)/tkTextWind.c \
	$(GENERIC_DIR)/tkSquare.c $(GENERIC_DIR)/tkTest.c \
	$(UNIX_DIR)/tkAppInit.c $(UNIX_DIR)/tkUnix.c \
	$(UNIX_DIR)/tkUnixCursor.c $(UNIX_DIR)/tkUnixDraw.c \
	$(UNIX_DIR)/tkUnixEvent.c $(UNIX_DIR)/tkUnixInit.c \
	$(UNIX_DIR)/tkUnixSelect.c $(UNIX_DIR)/tkUnixWm.c


HDRS = bltList.h \
	default.h ks_names.h patchlevel.h tk.h tkCanvas.h tkInt.h  \
	tkPort.h tkText.h

DEMOPROGS = browse hello ixset rmt rolodex square tcolor timer widget

all: libtk.a

libtk.a: $(OBJS)
	rm -f libtk.a
	ar cr libtk.a $(OBJS)
	$(RANLIB) libtk.a

tktest: $(TKTEST_OBJS) libtk.a $(TCL_BIN_DIR)/libtcl.a
	${CC} ${LD_FLAGS} $(TKTEST_OBJS) $(LIBS) -o tktest

test: tktest
	@cwd=`pwd`; \
	cd $(TCL_DIR); TCL_LIBRARY=`pwd`/../library; export TCL_LIBRARY; \
	cd $$cwd; cd $(TOP_DIR); TK_LIBRARY=`pwd`/library; export TK_LIBRARY; \
	cd $$cwd; ( echo cd $(TOP_DIR)/tests\; source all\; exit ) | ./tktest

configInfo: Makefile
	@rm -f configInfo
	@echo "# Definitions and libraries needed to build Tk applications" >> configInfo
	@echo "# (generated by the configure script):" >> configInfo
	@echo "TK_CC_SWITCHES = ${AC_FLAGS} ${MEM_DEBUG_FLAGS}" >> configInfo
	@echo "TK_X11_INCLUDES = ${X11_INCLUDES}" >> configInfo
	@echo "TK_LIBS = ${X11_LIB_SWITCHES} @LIBS@" >> configInfo

install: all

install-binaries: libtk.a wish
	@for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \
	    do \
	    if [ ! -d $$i ] ; then \
		echo "Making directory $$i"; \
		mkdir $$i; \
		chmod 755 $$i; \
		else true; \
		fi; \
	    done;
	@echo "Installing libtk.a"
	@$(INSTALL_DATA) libtk.a $(LIB_INSTALL_DIR)/libtk$(VERSION).a
	@$(RANLIB) $(LIB_INSTALL_DIR)/libtk$(VERSION).a
	@echo "Installing wish"
	@$(INSTALL_PROGRAM) wish $(BIN_INSTALL_DIR)/wish$(VERSION)

install-libraries:
	@for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \
		$(SCRIPT_INSTALL_DIR) ; \
	    do \
	    if [ ! -d $$i ] ; then \
		echo "Making directory $$i"; \
		mkdir $$i; \
		chmod 755 $$i; \
		else true; \
		fi; \
	    done;
	@echo "Installing tk.h"
	@$(INSTALL_DATA) $(GENERIC_DIR)/tk.h $(INCLUDE_INSTALL_DIR)
	for i in $(SRC_DIR)/library/*.tcl $(SRC_DIR)/library/tclIndex $(SRC_DIR)/library/prolog.ps $(UNIX_DIR)/tkAppInit.c; \
	    do \
	    echo "Installing $$i"; \
	    $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \
	    done;

install-demos:
	@for i in $(INSTALL_ROOT)$(prefix)/lib $(SCRIPT_INSTALL_DIR) \
		$(SCRIPT_INSTALL_DIR)/demos \
		$(SCRIPT_INSTALL_DIR)/demos/images ; \
	    do \
	    if [ ! -d $$i ] ; then \
		echo "Making directory $$i"; \
		mkdir $$i; \
		chmod 755 $$i; \
		else true; \
		fi; \
	    done;
	@for i in $(SRC_DIR)/library/demos/*; \
	    do \
	    if [ -f $$i ] ; then \
		echo "Installing $$i"; \
		sed -e '3 s|exec wish|exec wish$(VERSION)|' \
			$$i > $(SCRIPT_INSTALL_DIR)/demos/`basename $$i`; \
	    fi; \
	    done;
	@for i in $(DEMOPROGS); \
	    do \
	    chmod 755 $(SCRIPT_INSTALL_DIR)/demos/$$i; \
	    done;
	@for i in $(SRC_DIR)/library/demos/images/*; \
	    do \
	    if [ -f $$i ] ; then \
		echo "Installing $$i"; \
		$(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/demos/images; \
		fi; \
	    done;

install-man:
	@for i in $(MAN_INSTALL_DIR) $(MAN1_INSTALL_DIR) $(MAN3_INSTALL_DIR) $(MANN_INSTALL_DIR) ; \
	    do \
	    if [ ! -d $$i ] ; then \
		echo "Making directory $$i"; \
		mkdir $$i; \
		chmod 755 $$i; \
		else true; \
		fi; \
	    done;
	@cd $(SRC_DIR)/doc; for i in *.1; \
	    do \
	    echo "Installing doc/$$i"; \
	    rm -f $(MAN1_INSTALL_DIR)/$$i; \
	    sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
		    $$i > $(MAN1_INSTALL_DIR)/$$i; \
	    chmod 444 $(MAN1_INSTALL_DIR)/$$i; \
	    done;
	$(UNIX_DIR)/mkLinks $(MAN1_INSTALL_DIR)
	@cd $(SRC_DIR)/doc; for i in *.3; \
	    do \
	    echo "Installing doc/$$i"; \
	    rm -f $(MAN3_INSTALL_DIR)/$$i; \
	    sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
		    $$i > $(MAN3_INSTALL_DIR)/$$i; \
	    chmod 444 $(MAN3_INSTALL_DIR)/$$i; \
	    done;
	$(UNIX_DIR)/mkLinks $(MAN3_INSTALL_DIR)
	@cd $(SRC_DIR)/doc; for i in *.n; \
	    do \
	    echo "Installing doc/$$i"; \
	    rm -f $(MANN_INSTALL_DIR)/$$i; \
	    sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
		    $$i > $(MANN_INSTALL_DIR)/$$i; \
	    chmod 444 $(MANN_INSTALL_DIR)/$$i; \
	    done;
	$(UNIX_DIR)/mkLinks $(MANN_INSTALL_DIR)

Makefile: $(UNIX_DIR)/Makefile.in
	$(SHELL) config.status

clean:
	rm -f *.a *.o core errs *~ \#* TAGS *.E a.out Makefile config.cache \
		config.log config.info config.status

distclean: clean
	rm -f Makefile config.status config.cache

depend:
	makedepend -- $(CC_SWITCHES) -- $(SRCS)

# Test binaries.  The rule for tkTestInit.o is complicated because
# it is is compiled from tkAppInit.c.  Can't use the "-o" option
# because this doesn't work on some strange compilers (e.g. UnixWare).
# So, make a link insted.

tkTestInit.o: tkAppInit.c
	rm -f tkTestInit.c
	ln $(UNIX_DIR)/tkAppInit.c tkTestInit.c
	$(CC) -c $(CC_SWITCHES) -DTK_TEST tkTestInit.c
	rm -f tkTestInit.c

tk3d.o: $(GENERIC_DIR)/tk3d.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tk3d.c

tkAppInit.o: $(UNIX_DIR)/tkAppInit.c
	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkAppInit.c

tkArgv.o: $(GENERIC_DIR)/tkArgv.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkArgv.c

tkAtom.o: $(GENERIC_DIR)/tkAtom.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkAtom.c

tkBind.o: $(GENERIC_DIR)/tkBind.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkBind.c

tkBitmap.o: $(GENERIC_DIR)/tkBitmap.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkBitmap.c

tkClipboard.o: $(GENERIC_DIR)/tkClipboard.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkClipboard.c

tkCmds.o: $(GENERIC_DIR)/tkCmds.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCmds.c

tkColor.o: $(GENERIC_DIR)/tkColor.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkColor.c

tkConfig.o: $(GENERIC_DIR)/tkConfig.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkConfig.c

tkCursor.o: $(GENERIC_DIR)/tkCursor.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCursor.c

tkError.o: $(GENERIC_DIR)/tkError.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkError.c

tkEvent.o: $(GENERIC_DIR)/tkEvent.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkEvent.c

tkFocus.o: $(GENERIC_DIR)/tkFocus.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkFocus.c

tkFont.o: $(GENERIC_DIR)/tkFont.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkFont.c

tkGet.o: $(GENERIC_DIR)/tkGet.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGet.c

tkGC.o: $(GENERIC_DIR)/tkGC.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGC.c

tkGeometry.o: $(GENERIC_DIR)/tkGeometry.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGeometry.c

tkGrab.o: $(GENERIC_DIR)/tkGrab.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGrab.c

tkGrid.o: $(GENERIC_DIR)/tkGrid.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkGrid.c

tkMain.o: $(GENERIC_DIR)/tkMain.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMain.c

tkOption.o: $(GENERIC_DIR)/tkOption.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkOption.c

tkPack.o: $(GENERIC_DIR)/tkPack.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkPack.c

tkPlace.o: $(GENERIC_DIR)/tkPlace.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkPlace.c

tkSelect.o: $(GENERIC_DIR)/tkSelect.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkSelect.c

tkSend.o: $(GENERIC_DIR)/tkSend.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkSend.c

tkUtil.o: $(GENERIC_DIR)/tkUtil.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkUtil.c

tkVisual.o: $(GENERIC_DIR)/tkVisual.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkVisual.c

tkWindow.o: $(GENERIC_DIR)/tkWindow.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkWindow.c

tkXId.o: $(GENERIC_DIR)/tkXId.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkXId.c

tkButton.o: $(GENERIC_DIR)/tkButton.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkButton.c

tkEntry.o: $(GENERIC_DIR)/tkEntry.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkEntry.c

tkFrame.o: $(GENERIC_DIR)/tkFrame.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkFrame.c

tkListbox.o: $(GENERIC_DIR)/tkListbox.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkListbox.c

tkMenu.o: $(GENERIC_DIR)/tkMenu.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMenu.c

tkMenubutton.o: $(GENERIC_DIR)/tkMenubutton.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMenubutton.c

tkMessage.o: $(GENERIC_DIR)/tkMessage.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkMessage.c

tkScale.o: $(GENERIC_DIR)/tkScale.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkScale.c

tkScrollbar.o: $(GENERIC_DIR)/tkScrollbar.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkScrollbar.c

tkSquare.o: $(GENERIC_DIR)/tkSquare.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkSquare.c

tkCanvas.o: $(GENERIC_DIR)/tkCanvas.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvas.c

tkCanvArc.o: $(GENERIC_DIR)/tkCanvArc.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvArc.c

tkCanvBmap.o: $(GENERIC_DIR)/tkCanvBmap.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvBmap.c

tkCanvImg.o: $(GENERIC_DIR)/tkCanvImg.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvImg.c

tkCanvLine.o: $(GENERIC_DIR)/tkCanvLine.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvLine.c

tkCanvPoly.o: $(GENERIC_DIR)/tkCanvPoly.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvPoly.c

tkCanvPs.o: $(GENERIC_DIR)/tkCanvPs.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvPs.c

tkCanvText.o: $(GENERIC_DIR)/tkCanvText.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvText.c

tkCanvUtil.o: $(GENERIC_DIR)/tkCanvUtil.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvUtil.c

tkCanvWind.o: $(GENERIC_DIR)/tkCanvWind.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkCanvWind.c

tkRectOval.o: $(GENERIC_DIR)/tkRectOval.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkRectOval.c

tkTrig.o: $(GENERIC_DIR)/tkTrig.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTrig.c

tkImage.o: $(GENERIC_DIR)/tkImage.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImage.c

tkImgBmap.o: $(GENERIC_DIR)/tkImgBmap.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImgBmap.c

tkImgGIF.o: $(GENERIC_DIR)/tkImgGIF.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImgGIF.c

tkImgPPM.o: $(GENERIC_DIR)/tkImgPPM.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImgPPM.c

tkImgPhoto.o: $(GENERIC_DIR)/tkImgPhoto.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkImgPhoto.c

tkTest.o: $(GENERIC_DIR)/tkTest.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTest.c

tkText.o: $(GENERIC_DIR)/tkText.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkText.c

tkTextBTree.o: $(GENERIC_DIR)/tkTextBTree.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextBTree.c

tkTextDisp.o: $(GENERIC_DIR)/tkTextDisp.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextDisp.c

tkTextIndex.o: $(GENERIC_DIR)/tkTextIndex.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextIndex.c

tkTextMark.o: $(GENERIC_DIR)/tkTextMark.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextMark.c

tkTextTag.o: $(GENERIC_DIR)/tkTextTag.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextTag.c

tkTextWind.o: $(GENERIC_DIR)/tkTextWind.c
	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkTextWind.c

tkUnix.o: $(UNIX_DIR)/tkUnix.c
	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnix.c

tkUnixCursor.o: $(UNIX_DIR)/tkUnixCursor.c
	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixCursor.c

tkUnixDraw.o: $(UNIX_DIR)/tkUnixDraw.c
	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixDraw.c

tkUnixEvent.o: $(UNIX_DIR)/tkUnixEvent.c
	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixEvent.c

tkUnixInit.o: $(UNIX_DIR)/tkUnixInit.c
	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixInit.c

tkUnixNotify.o: $(UNIX_DIR)/tkUnixNotify.c
	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixNotify.c

tkUnixSelect.o: $(UNIX_DIR)/tkUnixSelect.c
	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixSelect.c

tkUnixWm.o: $(UNIX_DIR)/tkUnixWm.c
	$(CC) -c $(CC_SWITCHES) $(UNIX_DIR)/tkUnixWm.c

.c.o:
	$(CC) -c $(CC_SWITCHES) $<

#
# Target to check for proper usage of UCHAR macro.
#

checkuchar:
	-egrep isalnum\|isalpha\|iscntrl\|isdigit\|islower\|isprint\|ispunct\|isspace\|isupper\|isxdigit\|toupper\|tolower $(SRCS) | grep -v UCHAR

#
# Target to make sure that only symbols with "Tk" prefixes are
# exported.
#

checkexports: libtk.a
	-nm -p libtk.a | awk '$$2 ~ /[TDB]/ { print $$3 }' | sort -n | grep -v '^[Tt]k'

#
# Target to create a proper Tk distribution from information in the
# master source directory.  DISTDIR must be defined to indicate where
# to put the distribution.  DISTDIR must be an absolute path name.
#

TCLDIR	  = ../../tcl7.5a2
configure: configure.in
	autoconf

dist:   configure
	rm -rf $(DISTDIR)
	mkdir $(DISTDIR)
	mkdir $(DISTDIR)/unix
	cp -p $(UNIX_DIR)/*.c $(UNIX_DIR)/*.h $(DISTDIR)/unix
	cp ../license.terms Makefile.in $(DISTDIR)/unix
	chmod 664 $(DISTDIR)/unix/Makefile.in
	cp configure configure.in $(TCLDIR)/unix/install-sh \
		porting.notes porting.old README $(DISTDIR)/unix
	chmod 775 $(DISTDIR)/unix/configure $(DISTDIR)/unix/configure.in
	chmod +x $(DISTDIR)/unix/install-sh
	tclsh $(TCLDIR)/unix/mkLinks.tcl ../doc/*.[13n] \
		> $(DISTDIR)/unix/mkLinks
	chmod +x $(DISTDIR)/unix/mkLinks
	mkdir $(DISTDIR)/bitmaps
	@(cd ..; for i in bitmaps/* ; do \
	    if [ -f $$i ] ; then \
		sed -e 's/static char/static unsigned char/' \
		       $$i > $(DISTDIR)/$$i; \
	    fi; \
	done;)
	mkdir $(DISTDIR)/generic
	cp -p $(GENERIC_DIR)/*.c $(GENERIC_DIR)/*.h $(DISTDIR)/generic
	cp -p $(GENERIC_DIR)/README $(DISTDIR)/generic
	cp -p ../changes ../README ../license.terms ../ToDo $(DISTDIR)
	rm -f $(DISTDIR)/generic/blt*.[ch]
	mkdir $(DISTDIR)/win
	cp -p ../win/*.c ../win/*.h ../win/*.rc ../win/*.ico $(DISTDIR)/win
	cp -p ../win/makefile.* $(DISTDIR)/win
	cp -p ../win/README $(DISTDIR)/win
	cp -p ../license.terms $(DISTDIR)/win
	mkdir $(DISTDIR)/mac
	cp -p ../mac/*.c ../mac/*.h ../mac/*.r ../mac/*.hqx $(DISTDIR)/mac
	cp -p ../mac/README $(DISTDIR)/mac
	cp -p ../license.terms $(DISTDIR)/mac
	mkdir $(DISTDIR)/compat
	cp -p ../license.terms $(TCLDIR)/compat/unistd.h \
		$(TCLDIR)/compat/stdlib.h $(DISTDIR)/compat
	mkdir $(DISTDIR)/xlib
	cp -p ../xlib/*.h ../xlib/*.c $(DISTDIR)/xlib
	cp -p ../license.terms $(DISTDIR)/xlib
	mkdir $(DISTDIR)/xlib/X11
	cp -p ../xlib/X11/*.h $(DISTDIR)/xlib/X11
	cp -p ../license.terms $(DISTDIR)/xlib/X11
	mkdir $(DISTDIR)/library
	cp -p ../license.terms ../library/*.tcl ../library/tclIndex \
		../library/prolog.ps $(DISTDIR)/library
	mkdir $(DISTDIR)/library/demos
	cp -pr ../library/demos/*.tcl \
		../library/demos/tclIndex ../library/demos/browse \
		../library/demos/hello ../library/demos/ixset \
		../library/demos/rmt ../library/demos/rolodex \
		../library/demos/square \
		../library/demos/tcolor ../library/demos/timer \
		../library/demos/widget ../library/demos/README \
		../license.terms $(DISTDIR)/library/demos
	mkdir $(DISTDIR)/library/demos/images
	@(cd ..; for i in library/demos/images/* ; do \
	    if [ -f $$i ] ; then \
		cp $$i $(DISTDIR)/$$i; \
	    fi; \
	done;)
	mkdir $(DISTDIR)/doc
	cp -p ../license.terms ../doc/*.[13n] $(TCLDIR)/doc/man.macros \
		$(DISTDIR)/doc
	cp /home/ouster/papers/tk4.0/tk4.0.ps $(DISTDIR)/doc
	mkdir $(DISTDIR)/tests
	cp -p ../license.terms ../tests/*.test ../tests/visual ../tests/*.tcl \
		../tests/README ../tests/all ../tests/defs \
		../tests/option.file* $(DISTDIR)/tests

# DO NOT DELETE THIS LINE -- make depend depends on it.
